<?php
namespace Swiftx\Bundle\WeChat\Interfaces\Controller\Company;
use Swiftx\Interfaces\Httpd\Request;
use Swiftx\Interfaces\Httpd\Response;

/**
 * 布局框架页面接口
 * @default-implement Swiftx\Bundle\WeChat\Controller\Company\Layout singleton=true
 * @router-annotation Swiftx\Component\Router\Annotation\Method
 */
interface Layout {

    /**
     * 显示框架页面
     * @param Request   $request
     * @param Response  $response
     * @router method   get
     * @return bool
     */
    public function showPage(Request $request, Response $response):bool;

    /**
     * API路由接口
     * @param Request  $request
     * @param Response $response
     * @router method  get
     * @return bool
     */
    public function apiRouterJs(Request $request, Response $response):bool ;

    /**
     * 执行安全退出
     * @param Request $request
     * @param Response $response
     * @return bool
     */
    public function actionLogout(Request $request, Response $response): bool;

    /**
     * 执行用户锁定
     * @param Request $request
     * @param Response $response
     * @return bool
     */
    public function actionLock(Request $request, Response $response): bool;

    /**
     * 定时消息同步
     * @param Request $request
     * @param Response $response
     * @return bool
     */
    public function timerStack(Request $request, Response $response): bool;

}